<template>
    <div>
        <h2>物流相关信息</h2>
        <div class="logistics-info-header">
            <div class="logistics-info-header-left">
                <div class="logistics-status" :class="logisticsStatusClass">{{ logisticsStatusText }}</div>
                <div class="logistics-company">{{ orderInfo.logisticsCompany }}</div>
                <div class="logistics-no">{{ orderInfo.logisticsNo }}</div>
            </div>
        </div>
        <ul class="logistics-info-list">
            <li v-for="(logistic, index) in orderInfo.logisticsInfo" :key="index">
                <div class="logistics-info-list-time">{{ logistic.time }}</div>
                <div class="logistics-info-list-content">{{ logistic.content }}</div>
            </li>
        </ul>
        <button v-if="canViewLogistics" @click="viewLogisticsDetails">查看物流详情</button>
    </div>
</template>
<script>
export default {
    name: 'MyLogistics',
    props: ['orderInfo'],
    computed: {
        // 根据物流状态设置不同的颜色
        logisticsStatusClass() {
            const status = this.orderInfo.logisticsStatus;
            switch (status) {
                case 0:
                    return 'status-pending';
                case 1:
                    return 'status-shipped';
                case 2:
                    return 'status-delivered';
                case 3:
                    return 'status-not-delivered';
                default:
                    return '';
            }
        },
        // 显示物流状态文本
        logisticsStatusText() {
            const status = this.orderInfo.logisticsStatus;
            switch (status) {
                case 0:
                    return '未发货';
                case 1:
                    return '已发货';
                case 2:
                    return '已签收';
                case 3:
                    return '未签收';
                default:
                    return '';
            }
        },
        // 判断是否有权限查看详情
        canViewLogistics() {
            const allowedRoles = ['admin', 'zhangsan', 'lisi'];
            return allowedRoles.includes(this.orderInfo.role);
        }
    },
    methods: {
        // 查看物流详情
        viewLogisticsDetails() {
            alert('查看物流详情');
        }
    }
}
</script>
<style>
.logistics-info {
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0px 0px 10px #eee;
    padding: 10px;
    font-size: 14px;
}

.logistics-info-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.logistics-info-header-left {
    display: flex;
    align-items: center;
}

.logistics-status {
    font-weight: bold;
    font-size: 16px;
    color: #007bff;
}

.logistics-company,
.logistics-no {
    margin-left: 10px;
    font-size: 14px;
    color: #333;
}

.logistics-info-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 230px;
    overflow-y: auto;
}

.logistics-info-list li {
    display: flex;
    margin-bottom: 10px;
}

.logistics-info-list-time {
    font-size: 12px;
    color: #999;
    width: 80px;
    text-align: right;
    margin-right: 10px;
}

.logistics-info-list-content {
    font-size: 14px;
    color: #333;
}
</style>